1. Field of the Invention
The present invention is related to a method for performing media scan operation for storage system and a storage subsystem and a storage system implementing the method.
2. Description of the Prior Art
Scanning media for defects or problem areas is a relatively common procedure. Most PC operating systems incorporate it as part of the process of preparing a section of media for accommodating data. Storage virtualization systems also commonly offer a way of scanning media for defects or problem areas prior to or during the process of preparing a section of physical media for use. It has also appeared on storage virtualization systems run on on-line media to detect defective media section of a PSD (physical storage device) while the data in that section can still be recovered or damage due to associated loss of data minimized. Storage virtualization systems have typically relied on a RAID parity consistency check operation performed on a RAID disk array to achieve this goal. This operation typically would include a mechanism for re-writing and/or reassigning a section of media that was not read successfully due to potentially defective media. Such an operation, however, suffers from the shortcoming that it is very resource intensive, causing a significant negative impact on normal host IO performance. This is because it requires transferring data in from each member disk in the disk array and then requires computing the XOR parity of all the data read in. Furthermore, it is only applicable to disk arrays that are redundant, that is either incorporate RAID parity (e.g., RAID levels 3, 4, 5) or incorporate mirroring (e.g., RAID 1). It cannot be used on disk arrays that are not redundant, such as simple striped arrays (e.g., RAID 0), nor can it be used on drives that are not members of an array.
One of the primary functions of the above-mentioned Storage Virtualization Systems (SVSs) is to protect integrity of, while allowing for continued access to, data stored within even in the face of certain kinds of faults. As an example, SVSs supporting some form of redundant array of disk drives allow a single disk drive to fail without loss of data or even loss of access to data stored in the array. However, there are still fault conditions that may cause loss of data itself and/or loss of data access. Such conditions typically consist of multiple faults in a certain set of associated devices, such as faults on two distinct disk drives in a redundant disk array. Applying techniques expressly designed to detect possible sources of faults then taking corrective action before the fault actually occurs can serve to minimize the possibility of such an occurrence.
One common cause of multiple faults in the set of member drives comprising a disk array is media errors on physical storage devices (PSDs). If a redundant disk array is running in an “optimal” state, media errors can typically be corrected “on-the-fly” without loss of data or loss of access to data. However, if the redundant disk array is operating in a “degraded” state, meaning that it is lacking in some or all redundancy due to the absence or failure of one or more member drives, then yet another fault may lead to such a loss. To avoid such an undesirable occurrence, preventative measures can be taken to reduce the likelihood that such a fault might occur while the disk array is operating in a “degraded” state.
Accordingly, there is a need for a method to solve the above-mentioned problems of the existing technologies.